package com.ipcoder.tcp通信程序第七题;
/*
* 案例需求
客户端：数据来自于文本文件，接收服务器反馈
服务器：接收到的数据写入文本文件，给出反馈
案例分析
创建客户端对象，创建输入流对象指向文件，每读入一行数据就给服务器输出一行数据，输出结束后使
用shutdownOutput()方法告知服务端传输结束
创建服务器对象，创建输出流对象指向文件，每接受一行数据就使用输出流输出到文件中，传输结束
后。使用输出流给客户端反馈信息
客户端接受服务端的回馈信息*/

import java.io.*;
import java.net.Socket;

public class ServerTcpFile {
    public static void main(String[] args) throws IOException {
        //建立服务器端的套接字
        Socket sk=new Socket("192.168.18.24",10002);
        //建立输入流,和输出流
        BufferedReader br=new BufferedReader(new FileReader("D:\\黑马视" +
                "频\\黑马视频文件\\java零基础入门到精通.24天\\零起点打开ja-va世界" +
                "的大门资料\\第二阶段资料\\二阶day12资料\\笔记\\Socketfile\\clientsocket.txt"));
        BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(sk.getOutputStream()));
        //读取输入流中的数据,写入服务器端中的文件
        String line;
        while((line=br.readLine())!=null){
            bw.write(line);
            bw.newLine();
            bw.flush();
        }
        //关闭对象
        sk.shutdownOutput();
        //读取服务器传输的数据(输入流)
        BufferedReader brr=new BufferedReader(new InputStreamReader(sk.getInputStream()));
        String data=brr.readLine();
        System.out.println("服务器端的反馈是:"+data);
        sk.close();
        br.close();
        brr.close();
        bw.close();

    }
}
